home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 732 / mpe / mpe.doc < prev    next >
Text File  |  1995-03-18  |  21KB  |  533 lines

  1.  
  2.             *** Modula-2 Programming Environment Version 1.31 ***
  3.  
  4.                          © Copyright 1992 DigiSoft
  5.                     written in Modula-2 version 4.0d  by
  6.                             Marcel Timmermans
  7.  
  8.  
  9.  
  10. DISCLAIMER
  11. -----------------------------------------------------------------------------
  12. The author is NOT responsible for the suitability or accuracy of this
  13. documentation and/or the program(s) it describes.  Any damage sustained by
  14. the use or misuse of this documentation and/or the program(s) it describes
  15. is the responsibility of the user her/him self.
  16. ----------------------------------------------------------------------------
  17.  
  18. COPYRIGHT
  19. ----------------------------------------------------------------------------
  20. MPE, © Copyright 1992 by DigiSoft.  All rights reserved.  This program may
  21. be distributed non-commercially only providing that the documentation and
  22. copyright notice remains intact and are included with the distribution.
  23. This program is Public Domain so no financial donation is necessary.
  24. ----------------------------------------------------------------------------
  25.  
  26.  
  27.  
  28. INTRODUCTION
  29. ----------------------------------------------------------------------------
  30.  
  31. This is a program to make work easier for making a program with M2Amiga.
  32.  
  33. How many times you have typed m2c <program name>, if there is any
  34. error than m2emacs <program name>, m2c .. m2l etc. offcourse you can use
  35. m2make  but  than again you have to give all the switches you want to use
  36. (no debug, Minimum Arts etc.)
  37.  
  38. I have tried to make a program that supports all kind of options to
  39. build a program.  I hope you like it.
  40.  
  41. Features:
  42.  
  43.     o - Settings are kept by every project.
  44.     o - After an error during compiling an editor will be called
  45.     o - you can edit a report file for your program
  46.     o - you can set 'every' options for the M2Amiga V4.0 Compiler and Linker
  47.     o - Also you can use M2Make
  48.     o - You can run your program from MPE.
  49.     o - Creates an autoheader if you want it.
  50.     o - A special version with the use of Reqtools.library
  51.         (Reqtools is Copyright (c) by Nico François.)
  52.     o - You can load M2POOL from MPE
  53.     o - You can start M2Project from MPE
  54.     o - You can start M2LibLink from MPE
  55.     o - A help function for the menus after pressing the help key
  56.         (let me know if you like this option or not)
  57.     o - And most important it is FREE
  58.  
  59.  
  60. REQUIREMENTS
  61. ----------------------------------------------------------------------------
  62. MPE was programmed in M2Amiga V4.0d on an Amiga 3000 Kick 2.0 with 4 MB
  63. memory and a 100MB harddisk but it should run on a standard 512 KB machine.
  64. MPE ,about 80 KB size, needed about 120 KB memory.  However if you want a
  65. good use you need at least 1.0 MB memory.  It's is tested on kickstart 1.2,
  66. 1.3 and 2.0.  It's only tested with M2Amiga V4.0, So i don't know if it
  67. works with earlier versions.  If not please let me know.
  68. ----------------------------------------------------------------------------
  69.  
  70.  
  71. INSTALLATION
  72. ----------------------------------------------------------------------------
  73.  
  74. MPE should be working with all kickstarts versions.
  75.  
  76. At the moment you can't use MPE from the workbench at kickstart 1.2 / 1.3
  77. if you want to use it from the WB then use IconX at kickstart 1.2 / 1.3
  78.  
  79. MPE is easy to install, just copy it to the directory m2:
  80.  
  81. When you run MPE at the first time you get a default setting choosed by
  82. myself.  But you can change your default setup and save it.  By using the
  83. pull-down menu, settings - save default.
  84.  
  85. NOTE:
  86.  
  87.  If you have settings saved with version 1.0 you can't use them anymore
  88.  because there is a lot changed in the settings file, Sorry.
  89.  
  90.  
  91.  
  92. ----------------------------------------------------------------------------
  93. HOW TO USE
  94. ----------------------------------------------------------------------------
  95. It's not very difficult to use, but here is an explanation for the menus.
  96. (also available in the program after pressing the help key)
  97.  
  98. PROJECT MENU
  99. ----------------------------------------------------------------------------
  100. This menu consists of the following items:
  101.  
  102.  Load Project: <right Amiga P>
  103.  
  104.  Function    :  Here you can load your directory where the program is standing
  105.                 witch you want to use.  (f.e.  DH0:M2/MPE do not choose the
  106.                 subdirs txt, bin, obj, sym or txt.  The program sees this
  107.                 by it's self.
  108.  
  109.  Load Main   : <right Amiga ?>
  110.  
  111.  Function    : Here you can load your main program.
  112.  
  113.  Load Module : <right Amiga O>
  114.  
  115.  Function    : Here you can load your module.  If you don't have
  116.                a module you don't need to load something.
  117.  
  118.  Resident    :
  119.  
  120.  Function    : At the sub-items you can set M2C, M2L or/and M2Make resident.
  121.                This information shall also be saved to the config file.
  122.                At the end of the program i remove all the program's of
  123.                the resident list.
  124.                I do this with the command "resident", so it must exist.
  125.  
  126.  Make Project:
  127.  
  128.  Function    : With this item you can choose the options and start the
  129.                program M2Project. In the subitem you can set the options
  130.                for M2Project. With start, the program M2project will
  131.                be started.
  132.  
  133.  About       :
  134.  
  135.  Function    : Here you find the information about the program, author,
  136.                version etc.
  137.  
  138.  Quit        : <right Amiga Q>
  139.  
  140.  Function    : This item you need if you want to leave the program.
  141.             A requester ask's to save settings or quit or cancel.
  142.             You can also use a letter.
  143.             'Y' for quit
  144.             'M' for Save & Quit
  145.             'N' for Cancel
  146.                 This is only if you use the standard version
  147.                 Not for the version with reqtools.library
  148.  
  149.  
  150. EDITOR MENU
  151. ----------------------------------------------------------------------------
  152. This menu consists of the following items:
  153.  
  154.  MP/MOD      : <right Amiga E>
  155.  
  156.  Function    : When you choose this item an editor (the want you choose in
  157.                settings) will be started with the active file.
  158.  
  159.  A File      : <right Amiga />
  160.  
  161.  Function    : When you choose this item the program put an file requester
  162.                on the window and you can choose any file you want to edit.
  163.  
  164.  Report      : <right Amiga R>
  165.  
  166.  Function    : When you choose this item the program loads a report file
  167.                into the editor with the main module name.report.
  168.  
  169.  Get *E      : <right Amiga F>
  170.  
  171.  Function    : This item finds an error file produced by M2C. It's specially
  172.                for when you choose build (M2make).
  173.                A file requester disappear on the screen and shows all the
  174.                file's which have an error. When you load this file it will
  175.                be automatically the Module file and or if it is the main
  176.                file the main file will be loaded.
  177.  
  178.  Doc File    :
  179.  
  180.  Function    : When you choose this item the program loads a <MainName>.DOC
  181.             file in the editor from the project directory.
  182.  
  183.  
  184. COMPILER MENU
  185. ----------------------------------------------------------------------------
  186. This menu consists of the following items:
  187.  
  188.  MP/MOD      : <right Amiga C>
  189.  
  190.  Function    : When you choose this item the program compiles the active file.
  191.                (main or module)
  192.  
  193.  Options     :
  194.  
  195.  Function    : In a sub item menu you can set your options for the M2Amiga
  196.                V4.0 compiler. At the last sub-item menu you can give your
  197.                own options.
  198.  
  199. LINKER MENU
  200. ----------------------------------------------------------------------------
  201. This menu consists of the following items:
  202.  
  203.  MP/MOD      : <right Amiga L>
  204.  
  205.  Function    : When you choose this item the program links everything.
  206.                If the main file is changed it compiles first the main file.
  207.                If the second file or .def file is changed it compiles first
  208.                the second file. if every goes right than the linker will be
  209.                started. (Just try to see )
  210.  
  211.  NOTE        : If the program has more sub modules THEY WON'T COMPILE IF
  212.                THEY ARE CHANGED THEREFOR YOU NEED TO CHOOSE MAKE.
  213.  
  214.  Options     :
  215.  
  216.  Function    : In a sub item menu you can set your options for the M2Amiga
  217.                V4.0 linker. At the last sub-item menu you can give your own
  218.                options.
  219.  
  220.  LibLink     : <right Amiga ]>
  221.  
  222.  Function    : When you choose this item the program links the mainfile with
  223.                every otherfile its needed.
  224.  
  225.  NOTE        : - There is NO Checking on succesfull or not !!!!
  226.                - There is NO Checking if the mainprogram,module is
  227.                  compiled or NOT !!!!
  228.  
  229.  Options     :
  230.  
  231.  Function    : In a sub item menu you can set your options for the M2Amiga
  232.                V4.0 liblinker. At the last sub-item menu you can give your
  233.                own options.
  234.  
  235. RUN MENU
  236. ----------------------------------------------------------------------------
  237. This menu consists of the following items:
  238.  
  239.  Go Main     : <right Amiga G>
  240.  
  241.  Function    : When you choose this item the program compile if necessary,
  242.                linked everything together end run the program.
  243.  
  244.  Argument    : <right Amiga A>
  245.  
  246.  Function    : In this item you can give your arguments
  247.  
  248.  
  249. SETTINGS MENU
  250. ----------------------------------------------------------------------------
  251. This menu consists of the following items:
  252.  
  253.  Change Ext. : <right Amiga M> and <right Amiga D>
  254.  
  255.  Function    : In the sub-items you can choose between a .mod file or a .def
  256.                file.
  257.  
  258.  Workfile    : <right Amiga 1> and <right Amiga 2>
  259.  
  260.  Function    : In the sub-items you can choose between the main file and
  261.                secondfile for making active.
  262.  
  263.  Processor   :
  264.  
  265.  Function    : In the sub-items you can choose the processor type
  266.                you want to compile for it.
  267.  
  268.  Change
  269.     Settings :
  270.  
  271.  Function    : After choosing this item you get a requester where you can
  272.                change your default editor, usermenus.
  273.                Further you can set the following options on or off:
  274.  
  275.                 - Debugger (Must M2Debug loaded or not )
  276.                 - Create a new Default File
  277.                   ( When you type a filename in the filerequester, when
  278.                     your load a module or main program, which doesn't exist
  279.                     MPE creates the filename with a default text like:
  280.  
  281.                     MODULE <Name>.MOD
  282.  
  283.                     BEGIN
  284.                      CLOSE
  285.                     END <Name>.
  286.  
  287.                     When you choose the a module the program makes a '.mod'
  288.                     and a '.def' file.
  289.                     You can switch this option on or off.
  290.                   )
  291.                 - Change CONST AutoVersion
  292.                   ( When there is a header created, and only then, AutoVersion
  293.                     can be changed to the latest version.
  294.                     You must use something like this
  295.                       CONST AutoVersion = '1.0'; CONST AutoVersion = "1.0";
  296.                     The text is case depended, so if you use AUTOVERSION the
  297.                     program don't find the CONST.
  298.                     Also you must use a text Constant, NOT AutoVersion = 1.0;
  299.                     So you choose the menuitem CreateHeader then the program
  300.                     creates a header for you if it doesn't exist.
  301.                     if the header exist the program asks you for the update
  302.                     text and for a version number.
  303.                     This version number comes in the constant AutoVersion.
  304.                     So it's only usable when a header was created.
  305.                     You can switch this option on or off.
  306.                   )
  307.                 - Make Backup File
  308.                   ( When the program creates a header, you can make a backup
  309.                     called <Name>.BK!. This for when something goes wrong.
  310.                     I don't hope so.
  311.                     So i'm not responsible when your source file is broken.
  312.                     Please Switch this on.
  313.                     If your use the program a long time and it never failed
  314.                     at this item, you can switch it off.
  315.                     If anything goes wrong, please let me now.
  316.                   )
  317.  
  318.                 - M2Pool loaded at start
  319.                   ( When you select this item M2pool shall be loaded )
  320.                 - Change ENV: options also
  321.                   ( If you change the compiler, linker or make options
  322.                     mpe write this also to env:m2c , env:m2l and env:m2make
  323.                   )
  324.                 - Module check
  325.                   ( this items check if your loaded program is a MODULE or
  326.                     a IMPLEMENTATION MODULE. The program checks if <name>.def
  327.                     exist if not then the program scans the text source )
  328.  
  329.  
  330.  Load
  331.     Settings : <right Amiga ->
  332.  
  333.  Function    : Here you can load your project settings.
  334.  
  335.  Save
  336.     Settings : <right Amiga +>
  337.  
  338.  Function    : Here you can save your project settings.
  339.  
  340.  Save
  341.     Default  :
  342.  
  343.  Function    : Here you can save your default settings.
  344.                This contains: - Compiler, Linker and M2Make options
  345.                               - Resident options
  346.                               - Sort editor
  347.                               - User Menu
  348.                               - Debugger On/Off
  349.                               - Create a new default file On/Off
  350.                               - Change  CONST 'AutoVersion' On/Off
  351.                               - Create backup file  AutoHeader On/Off
  352.                               - Change ENV: options also  On/Off
  353.                               - Change Module check  On/Off
  354.  
  355.   NOTE       : The main and second file name shall not be saved.
  356.  
  357.  
  358. SPECIAL MENU  (* Oohps I forgot this at the first release and there was a
  359.                  mayor bug in it. Sorry ! *)
  360. ----------------------------------------------------------------------------
  361. This menu consists of the following items:
  362.  
  363.  Shell       : <right Amiga S>
  364.  
  365.  Function    : Here you can start the Command Line Interface.
  366.                This menu item executes 'NewShell', so it must exist. and
  367.                the program must find it. Otherwise it will not executed.
  368.  
  369.  User 1      : <right Amiga !>
  370.  
  371.  Function    : Here the program execute your file out the Setting Menu.
  372.                You can use something like 'C:list bin/' or whatever you want.
  373.  
  374.  User 2      : <right Amiga @>
  375.  
  376.  Function    : Here the program execute your file out the Setting Menu.
  377.  
  378.  User 3      : <right Amiga #>
  379.  
  380.  Function    : Here the program execute your file out the Setting Menu.
  381.  
  382.  Execute     : <right Amiga X>
  383.  
  384.  Function    : At this item the program ask you with a StringRequester
  385.                what you want to execute.
  386.  
  387.  InfoHeader  : <right Amiga I>
  388.  
  389.  Function    : Here you can fill in your default header info.
  390.                This mean when you creates your first header.
  391.                The name is depended from the active file.
  392.  
  393.  CreateHeader: <right Amiga H>
  394.  
  395.  Function    : This item creates the header at the active file.
  396.                If the header exists a few things happened.
  397.                - A requester asks for the new version number.
  398.                - A requester asks for the update string.
  399.                - When AutoVersion is on the version number in the
  400.                  Constance 'AutoVersion' shall be changed.
  401.                  If CONST AutoVersion = '1.0' And you fill in the
  402.                  string requester 1.1 then you get
  403.                  CONST AutoVersion = '1.1'.
  404.                  By the way if you use (*# AutoHeader:=FALSE *)
  405.                  Please put this in the top of your file
  406.                  the program doesn't create a header file.
  407.                  You must use '(*#', '#' stands for MPE options.
  408.  
  409. Example Header (like idea from Jan van der Baard, Thanks Jan )
  410.  
  411. (*#-- BEGIN AutoRevision header, please do NOT edit!
  412. *
  413. *   Program         :   MPE.mod
  414. *   Copyright       :   1992 ©, DigiSoft
  415. *   Author          :   Marcel Timmermans
  416. *   Address         :   Holthuizerdreef 13, 6852 JH HUISSEN, HOLLAND
  417. *   Creation Date   :   21-12-1991
  418. *   Current version :   1.06
  419. *   Translator      :   M2Amiga 4.0d
  420. *
  421. *   REVISION HISTORY
  422. *
  423. *   Date          Version         Comment
  424. *   ---------     -------         ------------------------------------------
  425. *   25-04-1992     0.80           First test Option
  426. *   05-05-1992     0.90              Changed requesters, Compile generator
  427. *   09-05-1992     1.00           First Release
  428. *   23-05-1992     1.01           Changed mayor bug in run program
  429. *   23-05-1992     1.02           Added AutoRevision Header
  430. *   23-05-1992     1.03           Change Settings window with more options
  431. *   26-05-1992     1.05           Make a headerparser and changed settings
  432. *   27-05-1992     1.06           Changed create default write for files
  433. *
  434. *-- END AutoRevision header --*)
  435.  
  436. I hope your like it. New suggestions are welcom !!
  437.  
  438.  
  439.  
  440. So you know the menus and now you can load your project, main module, second
  441. module, compiling, linking , building etc.
  442.  
  443.  
  444.  
  445. ----------------------------------------------------------------------------
  446. KNOWN BUGS
  447. ----------------------------------------------------------------------------
  448.  o - Input and output for a running program works not good.
  449.      ( I don't now how to change this)
  450.  o - When sizing the window at KickStart 1.2 and 1.3 the text doesn't scroll
  451.      in the window anymore, this is not always but sometimes.
  452.      I don't know why this is happend.
  453.  o - When you put in the user options a program that detach itself it is
  454.      sometimes possible under KickVersion 1.2/1.3  the system hangs. 
  455.      Also, ( a little boring isn't it) I don't know why this is happend.
  456.  
  457. ----------------------------------------------------------------------------
  458.  FUTURE CHANGES
  459. ----------------------------------------------------------------------------
  460.      o Remove the bug's offcource
  461.      o Also started from Wb at all versions of kickstart.
  462.      o Making compatibler so that you can also use it for oberon.
  463.  
  464. If you have more suggestions, please let me know.
  465.  
  466.  
  467.  
  468. -REVISION HISTORY-
  469.  
  470. ****************************************************************************
  471. *
  472. *   REVISION HISTORY
  473. *
  474. *   Date          Version         Comment
  475. *   ---------     -------         ------------------------------------------
  476. *   25-04-1992     0.80           First test Option
  477. *   05-05-1992     0.90              Changed requesters, Compile generator
  478. *   09-05-1992     1.00           First Release
  479. *   23-05-1992     1.01           Changed mayor bug in run program
  480. *   23-05-1992     1.02           Added AutoRevision Header
  481. *   23-05-1992     1.03           Change Settings window with more options
  482. *   26-05-1992     1.05           Make a headerparser and changed settings
  483. *   27-05-1992     1.06           Changed create default write for files
  484. *   28-05-1992     1.07           Optimized some routines
  485. *   28-05-1992     1.08           added resident options
  486. *   28-05-1992     1.09           Added .doc optie by editor
  487. *   30-05-1992     1.10           Remove lock bug, free one lock to much
  488. *   31-05-1992     1.11           Remove Ref opt., changed options routine
  489. *   07-06-1992     1.12           Remove Mayor bug from LoadSettings
  490. *                                 Remove some bug's for A3000 use
  491. *   08-06-1992     1.13           Changed some minor bugs in Settings
  492. *   13-06-1992     1.14           Added Reqtools library options
  493. *   15-06-1992     1.15           Added some error routines
  494. *   25-06-1992     1.16           Added m2pool option
  495. *   01-07-1992     1.17           Changed routine QuitM2pool
  496. *   05-08-1992     1.18           Changed procedure startCompiler
  497. *   06-08-1992     1.19           Added menu ProcessorType
  498. *   07-08-1992     1.20           Make check for obj type (Processor sort)
  499. *   09-08-1992     1.21           added m2project program
  500. *   10-08-1992     1.22           added help text option
  501. *   10-08-1992     1.23           remove minor bug dir_filerequester
  502. *   11-08-1992     1.24           added options to ENV:
  503. *   23-08-1992     1.25           Make a better structure and comment progs
  504. *   24-08-1992     1.26           change updatesettings procedure
  505. *   25-08-1992     1.27           Added module check option
  506. *   25-08-1992     1.28           Give more information to user,loading etc
  507. *   30-08-1992     1.29           Don't rember Project path in configrecord
  508. *   30-08-1992     1.30           Added M2liblink with options to mpe
  509.  
  510.  
  511. The author,
  512.  
  513. My english is not very good, so i hope you will accept my bad writing.
  514. If you find any bugs, or you have ideas to make the program more
  515. user-friendly, please report to me at the following address:
  516.  
  517.                                             Marcel Timmermans
  518.                                             Holthuizerdreef 13
  519.                                             6852 JH, Huissen (gld)
  520.                                             Holland.
  521.  
  522.  
  523. Please, if you like (or don't) the program or you make use of it
  524. let me now.
  525.  
  526. Greeting's to
  527.                 - Fridtjof Siebert
  528.                 - Jan van den Baard
  529.                 - Dr. Maybe
  530.                 - Lars Van Jeurissen
  531.                 - A+LAG for M2Amiga.
  532.                 - Fred Fish for his great job.
  533.